/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package business;

import dao.GradoDao;
import dao.GradoDao;
import dominio.Grado;
import dominio.Grado;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

/**
 *
 * @author vanessa
 */
public class GradoBo {

    public Grado encontrarGrado(int id) {
        GradoDao dao = new GradoDao();
        Grado g = dao.encontrarGrado(id);
        return g;
    }

    public Grado actualizarGradoCursos(int id, int numeroCursos) {
        GradoDao dao = new GradoDao();
        Grado g = dao.actualizarGradoCursos(id, numeroCursos);
        return g;
    }

    public Grado actualizarGradoAsignaturas(int id, int numeroAsignaturas) {
        GradoDao dao = new GradoDao();
        Grado g = dao.actualizarGradoAsignaturas(id, numeroAsignaturas);
        return g;
    }

    /****
     * los siguientes metodos fueron elaborados por Alexander Chaparro
     */
    public List consultarGrados() {
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("SiaPersistencia");
        EntityManager em = emf.createEntityManager();
        GradoDao dao = new GradoDao();
        dao.setEm(em);
        em.getTransaction().begin();
        List results;
        results = dao.encontrarGrados();
        return results;
    }

    public void crearGrado(Grado grado) {
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("SiaPersistencia");
        EntityManager em = emf.createEntityManager();
        GradoDao dao = new GradoDao();
        dao.setEm(em);
        em.getTransaction().begin();
        dao.crearGrado(grado);
        em.getTransaction().commit();
        em.close(); //quitar cuando se tenga montado el serv
        emf.close();//quitar cuando se tenga montado el serv
    }

    public void eliminarGrado(Grado grado) {
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("SiaPersistencia");
        EntityManager em = emf.createEntityManager();
        GradoDao dao = new GradoDao();
        dao.setEm(em);
        em.getTransaction().begin();
        dao.eliminarGrado(grado);
        em.getTransaction().commit();
        em.close(); //quitar cuando se tenga montado el serv
        emf.close();//quitar cuando se tenga montado el serv
    }
}
